// 文件上传

// 导入文件上传配置字段
let { field } = require('../config')
// 导入multer
const multer = require('multer');
// 配置文件存储过程
let storage = multer.diskStorage({
  destination(req, file, next) { // 设置存储位置    
    next(null, './uploads'); // 正常接收文件
  },
  filename(req, file, next) {  // 设置接收文件存储的名称    
    let newFilename = +new Date() + Math.random().toString(16).slice(-5) + file.originalname
    // 设置存储的文件名
    next(null, newFilename)
  }
})

// 文件存储过程的文件过滤
let fileFilter = (req, file, next) => {
  file.mimetype.startsWith('image') ? next(null, true) : next(null, false);
}

let upload = multer({ storage, fileFilter })
// 创建文件接收器
// 1. upload.single(字段)    单字段单文件上传
let upOneFn = upload.single(field);
let uplbn = upload.single('carousel');
// 2. upload.array(字段)     单字段多文件上传
let upArrFn = upload.array(field);


// 导出接收器
module.exports = { upOneFn, upArrFn,uplbn }